#include "button.h"
#include <QPainter>
#include <QPaintEvent>

//кон-р запускает таймер - timerEvent, тот через update()
//запускает paintEvent.

Button::Button(QWidget *parent): QPushButton(parent), m_isOdd(false)

{
        startTimer (300);
}

QSize Button::sizeHint() //устанавливается размер виджета
{
    static QSize size (100,100);

    return size;
}

/*QSize Button::sizeHint()
{
   // static QSize size (100,100);
    setMinimumSize(QSize(100, 100));
    setMaximumSize(QSize(200, 200));
    setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Maximum);
    return size;
}*/

void Button::paintEvent(QPaintEvent* e)
{
    QPainter painter (this); //передается наш 100х100 виджет
    if (m_isOdd)
    {
        painter.setBrush(Qt::blue);
    }
    else
    {
        painter.setBrush(Qt::red);
    }
    painter.drawEllipse(e->rect());
}

void Button::timerEvent(QTimerEvent *)
{
    m_isOdd=!m_isOdd;
    emit update();
}
